/**
* Copyright (c) By zengqh.
*
* This program is just for fun or demo, in the hope that it  
* will be useful, you can redistribute it and/or modify freely.
*
* Time: 2012/07/25
* File: RenderTT.h
* Blog: http://www.cnblogs.com/zengqh/
**/

#ifndef RenderTT_h__
#define RenderTT_h__

#include "RenderTarget.h"

class RenderTT : public RenderTarget
{
public:
	RenderTT(const Dimension2Di& size);
	virtual ~RenderTT();

	const std::string& getName() const;
	void setName(const std::string& name);

	s32 getWidth() const;
	s32 getHeight() const;

	void addRenderTargetListener(RenderTargetListener* listener);

	virtual Texture* getTexture() const = 0;

protected:
	Dimension2Di				_size;
	std::string					_caption;
	typedef						std::list<RenderTargetListener*> RenderTargetListeneList;
	RenderTargetListeneList		_render_target_listener_list;
};

#endif    /* RenderTT_h__ */